;--------------------------------------------------------------------------
;AI-Fantasyft
;--------------------------------------------------------------------------
[statedef 96600]
anim = 9998
ctrl = 0

[state 825]
type = assertspecial
trigger1 = 1
flag = invisible

[state 96600]
type = selfstate
trigger1 = !ishelper
value = 0

[state 96600]
type=varset
trigger1 = command="up" && root,command="up"
trigger2 = command="down" && root,command="down"
trigger3 = command="back" && root,command="back"
trigger4 = command="fwd" && root,command="fwd"
trigger5 = command="a" && root,command="a"
trigger6 = command="b" && root,command="b"
trigger7 = command="c" && root,command="c"
trigger8 = command="x" && root,command="x"
trigger9 = command="y" && root,command="y"
trigger10 = command="z" && root,command="z"
trigger11 = command="start" && root,command="start"
var(50) = -1

[state 96600]
type = destroyself
triggerall = ishelper
trigger1 = root,var(50) || var(50)=-1
trigger2 = command="up" && root,command="up"
trigger3 = command="down" && root,command="down"
trigger4 = command="back" && root,command="back"
trigger5 = command="fwd" && root,command="fwd"
trigger6 = command="a" && root,command="a"
trigger7 = command="b" && root,command="b"
trigger8 = command="c" && root,command="c"
trigger9 = command="x" && root,command="x"
trigger10 = command="y" && root,command="y"
trigger11 = command="z" && root,command="z"
trigger12 = command="start" && root,command="start"

[state 96600]
type=varset
triggerall = var(50)!=-1
trigger1 = root,command="up"
trigger2 = root,command="down"
trigger3 = root,command="back"
trigger4 = root,command="fwd"
trigger5 = root,command="a"
trigger6 = root,command="b"
trigger7 = root,command="c"
trigger8 = root,command="x"
trigger9 = root,command="y"
trigger10 = root,command="z"
trigger11 = root,command="start"
var(50) = 1

;=========================================
[Statedef 5201]
type    = S
movetype= H
physics = S
anim = 5200
ctrl = 0

[State 5201]
type = PlaySnd
trigger1 = !Time
value = 1,0
channel = 0

[State 5201, Turn] 
type = Turn
trigger1 = !Time && P2Dist X < -5

[State 5201, VelSet]
type = VelSet
trigger1 = !Time
y = 0

[State 5201, Roll Back Vel]
type = VelSet
trigger1 = Time = [0,12]
x = -4

[State 5201, PosSet]
type = PosSet
trigger1 = !Time
y = 0

[State 5201, Invincible]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

[State 5201, End]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1

;--------------------------------------------------------------------------
;   AI action
;--------------------------------------------------------------------------
[statedef -3]
;------------------------------------
[State 52, Landing Sound]
type = PlaySnd
trigger1 = Time = 1
trigger1 = stateno = 106
value = 0,2

[State -3, Jumping Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 105
value = 0,4

[State -3, Jumping Sound]
type = PlaySnd
triggerall = Time = 1
triggerall = Var(5) = 1
trigger1 = stateno = 50
trigger2 = stateno = 950
value = 0,1

[State -3, Jumping Sound]
type = PlaySnd
triggerall = Time = 1
triggerall = Var(5) = 0
trigger1 = stateno = 50
trigger2 = stateno = 950
value = 0,0

[State -2, 4]
type = VarRandom
triggerall = Time = 1
trigger1 = stateno = 5000
trigger2 = stateno = 5010
trigger3 = stateno = 5020
v = 4
range = 0,15

[State -2, 5]
type = PlaySnd
triggerall = Time = 1
triggerall = Var(4) = [0,3]
triggerall = alive = 1
trigger1 = stateno = 5000
trigger2 = stateno = 5010
trigger3 = stateno = 5020
value = 5000,0

[State -2, 6]
type = PlaySnd
triggerall = Time = 1
triggerall = Var(4) = [4,7]
triggerall = alive = 1
trigger1 = stateno = 5000
trigger2 = stateno = 5010
trigger3 = stateno = 5020
value = 5000,1

[State -2, 6]
type = PlaySnd
triggerall = Time = 1
triggerall = Var(4) = [8,11]
triggerall = alive = 1
trigger1 = stateno = 5000
trigger2 = stateno = 5010
trigger3 = stateno = 5020
value = 5000,2

;===========================================
[state -3]
type = varset
trigger1 = var(50)
trigger1 = p2stateno=5120
var(51) = 13
ignorehitpause = 1 

[state -3]
type = varadd
trigger1 = var(51)
var(51)=-1
ignorehitpause = 1 

[state -3]
type = varset
trigger1 = var(51)<0
var(51) = 0
ignorehitpause = 1 

;=====================================================
[state -3]
type = varset
trigger1 = moveguarded
trigger2 = (stateno=[600,699]) && movecontact
var(52) = 21	
ignorehitpause = 1 

[state -3]
type = varadd
trigger1 = var(52)
var(52) = -1
ignorehitpause = 1

[state -3]
type = varset
trigger1 = (stateno!=[600,699]) && movehit
var(52) = 0
ignorehitpause = 1 

;==============================================================
[state -3]
type = varset
trigger1 = stateno=5120
var(53) = 12	
ignorehitpause = 1 

[state -3]
type = varadd
trigger1 = var(53)
var(53) = -1
ignorehitpause = 1

[state -3]
type = varset
trigger1 = var(53)<0
var(53) = 0
ignorehitpause = 1 
;==============================================================
[state -3]
type = varset
trigger1 = stateno=1600 && movehit && animelem=13,>=0
var(54) = 1	
ignorehitpause = 1 

[state -3]
type = varset
trigger1 = stateno=250 && movehit && animelem=5,>=0
var(54) = 2	
ignorehitpause = 1 

[state -3]
type = varset
trigger1 = numprojid(1030)
trigger1 = projhit1030=1
var(54) = 3	
ignorehitpause = 1

[state -3]
type = varset
trigger1 = var(54)
trigger1 = stateno!=1600 && stateno!=250 && stateno!=1030
trigger1 = movetype=A || p2statetype!=A
var(54) = 0
ignorehitpause = 1
;==============================================================
[State -3]
type = DisplayToClipboard
trigger1 = 1
text="The value of var(54) is %d"
params = var(54)
ignorehitpause = 1
;==============================================================
[state -3]     
type = helper
trigger1 = !numhelper(96600)          
trigger1 = roundstate=2
trigger1 = alive
trigger1 = !var(50)
trigger1 = (prevstateno=[191,194])||prevstateno=5900            
trigger1 = ctrl&&stateno=0
helpertype = normal
name = "AI"
stateno = 96600
ID = 96600
pos = 9999,9999            
keyctrl = 1                
pausemovetime = 2147483647          
supermovetime = 2147483647           
persistent = 0               


[state -3]
type=changestate                  
trigger1 = ishelper(96600)        
trigger1 = stateno!=96600
value = 96600

[state -3]  
type = varset
triggerall = !var(50)
triggerall = roundstate = [1,2]      
trigger1  = command = "AI0"  || command = "AI1"  || command = "AI2"
trigger2  = command = "AI3"  || command = "AI4"  || command = "AI5"
trigger3  = command = "AI6"  || command = "AI7"  || command = "AI8"
trigger4  = command = "AI9"  || command = "AI10" || command = "AI11"
trigger5  = command = "AI12" || command = "AI13" || command = "AI14"
trigger6  = command = "AI15" || command = "AI16" || command = "AI17"
trigger7  = command = "AI18" || command = "AI19" || command = "AI20"
trigger8  = command = "AI21" || command = "AI22" || command = "AI23"
trigger9  = command = "AI24" || command = "AI25" || command = "AI26"
trigger10 = command = "AI27" || command = "AI28" || command = "AI29"
trigger11 = command = "AI30" || command = "AI31" || command = "AI32"
trigger12 = command = "AI33" || command = "AI34" || command = "AI35"
trigger13 = command = "AI36" || command = "AI37" || command = "AI38"
trigger14 = numhelper(96600)               
trigger14 = helper(96600),var(50)          
var(50) = 1             
ignorehitpause = 1

[state -3]
type = changestate
value = 0
triggerall = var(50) && statetype!=A && ctrl
trigger1 = win = 1
;==========================================
[state -3]
type = changestate
value = 250
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2bodydist x<20
triggerall = p2statetype=A
triggerall = var(54)=1
triggerall = ctrl
triggerall = enemy,vel y>0
trigger1 = enemy,backedgedist>=10
trigger1 = enemy,pos y=[-80,-60]
trigger2 = enemy,backedgedist<10
trigger2 = enemy,pos y=[-70,-50]

[state -3]
type = changestate
value = 100
triggerall = var(50)
triggerall = stateno!=101 && stateno!=20
triggerall = statetype!=A
triggerall = p2bodydist x>=20
triggerall = p2statetype=A
triggerall = var(54)=1
triggerall = ctrl
trigger1 = 1

[state -3]
type = changestate
value = 40
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = var(54)=2
triggerall = ctrl
trigger1 = 1

[state -3]
type = changestate
value = 3000+(power>=2000&&random<=666)*50
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = power>=1000
trigger1 = stateno=250 && movehit && time=16 && random<=666

[state -3]
type = changestate
value = 630
triggerall = var(50)
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = var(54)=2
triggerall = ctrl
triggerall = vel y<0
triggerall = vel x
trigger1 = 1

[state -3]
type = changestate
value = 3100+(power>=2000&&random<=666)*50
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = var(54)=3
triggerall = power>=1000
triggerall = p2bodydist x<=100
triggerall = enemy,vel y>0
trigger1 = ctrl

[state -3]
type = changestate
value = 1200
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = var(54)=3
triggerall = p2bodydist x<=100
triggerall = enemy,vel y>0
triggerall = enemy,pos y<=-20
trigger1 = ctrl
;=================================
[state -3]
type = changestate
value = 250
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2bodydist x<=35
triggerall = p2statetype=A
trigger1 = stateno=225 && movehit
trigger2 = stateno=400 && movehit
trigger3 = stateno=420 && movehit

[state -3]
type = changestate
value = 1030
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = frontedgedist<=80
triggerall = random<=300
trigger1 = stateno=225 && movehit
trigger2 = stateno=420 && movehit
trigger3 = stateno=250 && movehit

[state -3]
type = changestate
value = 1600
triggerall = var(50) && !var(52)
triggerall = statetype!=A
triggerall = p2bodydist x<=20
triggerall = p2statetype!=A
triggerall = random<=666
trigger1 = stateno=250 && movehit && animelem=5,<0
trigger2 = stateno=225 && movehit && animelem=4,<0
trigger3 = stateno=400 && movehit
trigger4 = stateno=420 && movehit

[state -3]
type = changestate
value = 3100+(random<=666&&power>=2000)*50
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = power>=1000
triggerall = random<=200
trigger1 = stateno=225 && movehit
trigger2 = stateno=420 && movehit
trigger3 = stateno=250 && movehit && (p2statetype=S && animelem=5,>=0 || p2statetype=C && animelem=5,<0)

[state -3]
type = changestate
value = 250
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2bodydist x<=30
triggerall = p2statetype!=A
trigger1 = stateno=225 && movehit
trigger2 = stateno=400 && movehit
trigger3 = stateno=420 && movehit

[state -3]
type = changestate
value = 1200
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
trigger1 = stateno=225 && movehit
trigger2 = stateno=420 && movehit
trigger3 = stateno=250 && movehit && (p2statetype=S && animelem=5,>=0 || p2statetype=C && animelem=5,<0)

[state -3]
type = changestate
value = 1300
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2statetype!=A
trigger1 = stateno=400 && movehit

[state -3]
type = changestate
value = 400
triggerall = var(50)
triggerall = statetype!=A
triggerall = p2bodydist x<=30
trigger1 = stateno=410 && movecontact
;=========================================
[state -3]
type = ChangeState
value = 801
triggerall = var(50) && !var(54)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2bodydist x<=10
triggerall = p2movetype!=H
triggerall = p2stateno!=52 && p2stateno!=40
trigger1 = backedgedist<=80 && p2bodydist x<0

[state -3]
type = ChangeState
value = 800
triggerall = var(50) && !var(54)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2bodydist x<=10
triggerall = p2movetype!=H
triggerall = p2stateno!=52 && p2stateno!=40
trigger1 = frontedgedist<=80 && p2bodydist x<0

[state -3]
type = ChangeState
value = 410
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=40
trigger1 = p2stateno=[120,169]

[state -3]
type = ChangeState
value = 3100+(random<=666&&power>=2000)*50
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=60
triggerall = power>=1000
trigger1 = p2statetype!=A && p2movetype=A && enemy,vel x>=3 && random<=400
trigger2 = p2statetype!=A && p2movetype=A && p2stateno<1000 && random<=333
trigger3 = p2statetype=A && p2bodydist x>=15 && enemy,vel y>0 && enemy,vel x>=0 && (enemy,pos y=[-50,-30]) && random<=333

[state -3]
type = ChangeState
value = 1416
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype=A 
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=25 && enemy,vel x=0 || (p2bodydist x=[0,35]) && enemy,vel x>0
trigger1 = enemy,vel y>0 && (enemy,pos y=[-60,-30])

[state -3]
type = changestate
value = 1600
triggerall = var(50) && !var(52) && !var(54)
triggerall = statetype!=A
triggerall = p2bodydist x<=20
triggerall = p2statetype!=A
triggerall = (p2stateno!=[5040,5999]) && p2statetype!=L
triggerall = ctrl
trigger1 = p2movetype=A && p2stateno<1000 && random<=333
trigger2 = p2movetype=I && p2stateno<200 && random<=333

[state -3]
type = changestate
value = 210
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype!=C
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = !enemy,numproj
triggerall = p2bodydist x=[60,95]
triggerall = enemy,vel y>=0 && enemy,pos y>=-50
trigger1 = p2movetype!=A && random<=200

[state -3]
type = changestate
value = 250
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = (p2bodydist x=[0,25]) && enemy,vel x=0 || (p2bodydist x=[10,40]) && enemy,vel x>0
trigger1 = enemy,vel y>0 && (enemy,pos y=[-80,-60]) && random<=500

[state -3]
type = ChangeState
value = 420
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x=[30,50]
trigger1 = p2movetype=I && p2stateno>=200
trigger2 = p2movetype=I && p2stateno<200 && random<=200
trigger3 = p2movetype=A && p2stateno<1000 && random<=300
trigger4 = p2movetype=A && p2stateno>=1000 && random<=200

[state -3]
type = ChangeState
value = 225
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype=S
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=20
trigger1 = p2stateno=100 || p2stateno=52 && random<=333 && enemy,time<=1
trigger2 = p2movetype=I && p2stateno>=200
trigger3 = p2movetype=I && p2stateno<200 && random<=333
trigger4 = p2movetype=A && p2stateno<1000 && random<=400
trigger5 = p2movetype=A && p2stateno>=1000 && random<=200
trigger6 = p2movetype=H

[state -3]
type = ChangeState
value = 400
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=40
trigger1 = p2stateno=100 
trigger2 = p2movetype=I && p2stateno>=200 && random<=400
trigger3 = p2movetype=I && p2stateno<200 && random<=200
trigger4 = p2movetype=A && p2stateno<1000 && random<=300
trigger5 = p2movetype=A && p2stateno>=1000 && random<=200
trigger6 = p2movetype=H

[state -3]
type = ChangeState
value = 615
triggerall = var(50) && !var(54)
triggerall = !vel x
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=56
trigger1 = p2dist y=[-70,-30]

[state -3]
type = ChangeState
value = 610
triggerall = var(50) && !var(54)
triggerall = vel x
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=60
trigger1 = p2dist y=[-20,30]

[state -3]
type = ChangeState
value = 635
triggerall = var(50) && !var(54)
triggerall = !vel x
triggerall = statetype=A
triggerall = p2statetype!=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=60
trigger1 = (pos y=[-50,-30]) && vel y>0

[state -3]
type = ChangeState
value = 630
triggerall = var(50) && !var(54)
triggerall = vel x
triggerall = statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=70
trigger1 = p2statetype!=A && vel y>0 && (pos y=[-50,-30])
trigger2 = p2statetype=A && (p2dist y=[0,60])

[state -3]
type = ChangeState
value = 650
triggerall = var(50) && !var(54)
triggerall = vel x
triggerall = statetype=A
triggerall = p2statetype=A
triggerall = p2stateno!=5120 && p2stateno!=5200 && p2stateno!=5201 && p2statetype!=L
triggerall = ctrl
triggerall = p2bodydist x<=60
triggerall = vel y<0
trigger1 = p2dist y=[-50,-10]
;===============================================
[state -3]
type = ChangeState
value = 120
triggerall = var(50) && !var(54)
triggerall = ctrl
triggerall = statetype!=A
Trigger1 = enemy,numproj && var(53)

[state -3]
type = ChangeState
value = 101
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=40
triggerall = stateno!=101 && stateno!=20
triggerall = p2stateno!=5120
triggerall = !enemy,numproj
triggerall = p2statetype!=A
trigger1 = p2bodydist X >=30 && p2movetype=H && random<=100
trigger2 = p2bodydist X >=30 && p2movetype!=A && p2stateno>=200 && random<=130 && p2statetype!=A
trigger3 = p2statetype=L && random<=500
trigger4 = p2bodydist X >=20 && p2movetype=I && p2stateno>=1000 && random<=333

[state -3]
type = ChangeState
value = 40
triggerall = var(50) && !var(54)
triggerall = ctrl
triggerall = statetype!=A
trigger1 = p2stateno=52 && (p2dist x=[0,40]) && random<=200
trigger2 = p2bodydist x<=40 && random<=100 && p2stateno=5120 && enemy,time>=3
trigger3 = (p2bodydist x=[0,60]) && random<=80 && frontedgedist<=70 && p2stateno=5201
trigger4 = (p2bodydist x=[0,60]) && random<=80 && backedgedist<=70 && p2stateno=5201
trigger5 = p2bodydist x>=40 && random<=100 && p2movetype!=A && p2statetype!=A && p2statetype!=L
trigger6 = (p2bodydist x=[0,80]) && (p2stateno=[0,699])&& p2movetype=A && random<=150 && p2statetype=C
trigger7 = backedgedist<=50 && p2stateno=5120 && (p2bodydist x=[0,30])
trigger8 = p2movetype=A && enemy,vel x>0 && random<=300 && p2stateno>=1000
trigger9 = p2statetype=A && enemy,vel y<0 && random<=80
trigger10 = p2bodydist x>=120 && p2movetype=A && random<=120 && p2stateno>1000

[state -3]
type = ChangeState
value = 120
triggerall = var(50) && !var(54)
triggerall = ctrl
triggerall = statetype != A
Trigger1 = (p2bodydist x=[0,60]) && p2dist y>=-100
Trigger1 = p2statetype=A && enemy,vel y>=0 && p2movetype=A
Trigger2 = enemy,NumProj>0
Trigger2 = InGuardDist
Trigger3 = (p2bodydist x=[0,100]) && p2movetype=A && random<=500
Trigger3 = InGuardDist

[state -3]
type = ChangeState
value = 801
triggerall = var(50) && !var(54)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2bodydist x<=15
triggerall = p2movetype!=H
triggerall = p2stateno!=52 && p2stateno!=40
trigger1 = backedgedist<=80
trigger1 = p2movetype=A
trigger1 = random<=400
trigger2 = backedgedist<=80
trigger2 = p2stateno=100 || p2stateno=52 || p2bodydist x<=0

[state -3]
type = ChangeState
value = 800
triggerall = var(50) && !var(54)
triggerall = statetype=S || statetype=C
triggerall = ctrl
triggerall = p2statetype!=A && p2statetype!=L
triggerall = p2stateno!=[5030,5999]
triggerall = p2bodydist x<=15
triggerall = p2movetype!=H
triggerall = p2stateno!=52 && p2stateno!=40
trigger1 = frontedgedist<=80
trigger1 = p2movetype=A
trigger1 = random<=400
trigger2 = frontedgedist<=80
trigger2 = p2stateno=100 || p2stateno=52 || p2bodydist x<=0

[state -3]
type = ChangeState
value = 361
triggerall = var(50) && !var(54)
triggerall = p2StateType!=L && p2StateType!=A
triggerall = StateType!=A
triggerall = P2Stateno!=[5030,5999]
triggerall = StateNo!=[150,151]
trigger1 = (p2stateno=[0,699]) && (p2bodydist x=[30,70])
trigger1 = ctrl && random<=200 && p2movetype=A && enemy,animtime>33 && p2statetype!=A
trigger2 = ctrl && enemy,numproj && p2movetype=A && p2dist x<=100 && enemy,animtime>33 && random<=300
trigger3 = ctrl && enemy,numproj && p2movetype=A && p2dist x>100 && enemy,animtime<33 && random<=100

[state -3]
type = ChangeState
value = 20
triggerall = var(50) && !var(54)
triggerall = statetype!=A
triggerall = ctrl
triggerall = stateno!=100 && stateno!=20
triggerall = prevstateno!=100
triggerall = p2stateno!=5120 && p2statetype!=L && p2statetype!=A
triggerall = enemy,numProj<=1
trigger1 = p2bodydist x >=40 && p2movetype!=A && (p2stateno=[0,4999])
trigger2 = p2movetype!=A && p2bodydist x >=20

[state -3]
type = ChangeState
value = 105
triggerall = var(50) && !var(54)
triggerall = statetype!=A 
triggerall = ctrl
trigger1 = p2stateno=5120 || p2statetype=L || p2stateno=5201 || p2stateno=5200
trigger1 = p2bodydist x=[-40,40]
trigger2 = numenemy=2 && ((enemynear(0),p2bodydist X)=[-50,50])
trigger2 = enemynear(1),stateno=5120 || enemynear(0),stateno=5120
trigger2 = backedgedist>60

[state -3]
type = ChangeState
value = 5200
triggerall = var(50) && !var(54)
triggerall = vel Y>0
triggerall = alive
trigger1 = pos y>=-10
trigger1 = stateno=5050
trigger1 = canrecover
trigger2 = pos y>=-20
trigger2 = stateno=5071

[state -3]
type = ChangeState
value = 305
triggerall = p2bodydist x=[0,40]
triggerall = var(50) && !var(54)
triggerall = power>=1000
triggerall = statetype!=A
trigger1 = stateno=150 || stateno=152
trigger1 = random<=40
trigger1 = p2stateno=[0,699]
trigger1 = backedgedist<=80 || frontedgedist<=100